<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>OCILIB (C and C++ Driver for Oracle): Data types</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">OCILIB (C and C++ Driver for Oracle)
   &#160;<span id="projectnumber">4.2.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>About</span></a></li>
      <li><a href="modules.html"><span>Documentation</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group___ocilib_c_api_datatypes.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#typedef-members">Typedefs</a>  </div>
  <div class="headertitle">
<div class="title">Data types<div class="ingroups"><a class="el" href="group___ocilib_c_api.html">C API</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>OCILIB implements:</p>
<ul>
<li>Oracle Scalar data types through scalar C data types</li>
<li>Oracle opaque/complex objects though opaque library handles</li>
<li>Library objects for manipulating the database: connections, transactions, statements...</li>
</ul>
<dl class="section user"><dt>Supported Oracle data types</dt><dd></dd></dl>
<ul>
<li>All Database types are supported excluding REFs.</li>
</ul>
<p>Here is a summary of the supported data types:</p>
<ul>
<li>Scalar types CHAR/NCHAR, VARCHAR2/NVARCHAR2, NUMBER, FLOAT, REAL, RAW, ...</li>
<li>Binary types: RAW, LONG RAW, VARRAW, ..</li>
<li>Larges Objects (Lobs and Files) : BLOB, CLOB, NCLOB, BFILE</li>
<li>LONG types: LONG, VAR LONG</li>
<li>Date, Timestamps et Intervals: DATE, TIMESTAMP, INTERVAL</li>
<li>PL/SQL types: Ref cursors, PL/SQL Tables</li>
<li>Named Types (by value): Built-in system objects and User defined objects</li>
<li>VARRAYs and Nested Tables</li>
<li>ROWIDs</li>
</ul>
<dl class="section user"><dt>OCILIB library objects</dt><dd></dd></dl>
<p>The public OCILIB library interface implements encapsulation for representing database objects (such as connections, statements ...) through opaque structures (pointers to structures whose definition is kept private)</p>
<p>Instead of directly manipulating the structures and their members, the library has functions to access the underlying members.</p>
<p>It's designed to make the user code as more independent as possible of the library details. </p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="union_o_c_i___variant.html">OCI_Variant</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal Variant type based on union C type.  <a href="union_o_c_i___variant.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga03591b6a21bfc75df4bbd9c9005307fa"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#ga03591b6a21bfc75df4bbd9c9005307fa">OCI_Pool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga03591b6a21bfc75df4bbd9c9005307fa">OCI_Pool</a></td></tr>
<tr class="memdesc:ga03591b6a21bfc75df4bbd9c9005307fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pool object (session or connection)  <a href="#ga03591b6a21bfc75df4bbd9c9005307fa">More...</a><br /></td></tr>
<tr class="separator:ga03591b6a21bfc75df4bbd9c9005307fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2135d3b5341ebbaae1f54d62873ecf77"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#ga2135d3b5341ebbaae1f54d62873ecf77">OCI_Connection</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga2135d3b5341ebbaae1f54d62873ecf77">OCI_Connection</a></td></tr>
<tr class="memdesc:ga2135d3b5341ebbaae1f54d62873ecf77"><td class="mdescLeft">&#160;</td><td class="mdescRight">Oracle physical connection.  <a href="#ga2135d3b5341ebbaae1f54d62873ecf77">More...</a><br /></td></tr>
<tr class="separator:ga2135d3b5341ebbaae1f54d62873ecf77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4b016f1bd7de508b1a919e34b12aa83d"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#ga4b016f1bd7de508b1a919e34b12aa83d">OCI_Statement</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga4b016f1bd7de508b1a919e34b12aa83d">OCI_Statement</a></td></tr>
<tr class="memdesc:ga4b016f1bd7de508b1a919e34b12aa83d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Oracle SQL or PL/SQL statement.  <a href="#ga4b016f1bd7de508b1a919e34b12aa83d">More...</a><br /></td></tr>
<tr class="separator:ga4b016f1bd7de508b1a919e34b12aa83d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7bf7e94c3be66d0a7c8edad675133f41"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#ga7bf7e94c3be66d0a7c8edad675133f41">OCI_Bind</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7bf7e94c3be66d0a7c8edad675133f41">OCI_Bind</a></td></tr>
<tr class="memdesc:ga7bf7e94c3be66d0a7c8edad675133f41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal bind representation.  <a href="#ga7bf7e94c3be66d0a7c8edad675133f41">More...</a><br /></td></tr>
<tr class="separator:ga7bf7e94c3be66d0a7c8edad675133f41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae0c7aa9c507975d21ca6c261081ba753"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#gae0c7aa9c507975d21ca6c261081ba753">OCI_Resultset</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#gae0c7aa9c507975d21ca6c261081ba753">OCI_Resultset</a></td></tr>
<tr class="memdesc:gae0c7aa9c507975d21ca6c261081ba753"><td class="mdescLeft">&#160;</td><td class="mdescRight">Collection of output columns from a select statement.  <a href="#gae0c7aa9c507975d21ca6c261081ba753">More...</a><br /></td></tr>
<tr class="separator:gae0c7aa9c507975d21ca6c261081ba753"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac0a3096f1a717d9417d9639e6da7dc56"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#gac0a3096f1a717d9417d9639e6da7dc56">OCI_Column</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#gac0a3096f1a717d9417d9639e6da7dc56">OCI_Column</a></td></tr>
<tr class="memdesc:gac0a3096f1a717d9417d9639e6da7dc56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Oracle SQL Column and Type member representation.  <a href="#gac0a3096f1a717d9417d9639e6da7dc56">More...</a><br /></td></tr>
<tr class="separator:gac0a3096f1a717d9417d9639e6da7dc56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8b274b67a4c2320612d4dfb3083131f5"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a></td></tr>
<tr class="memdesc:ga8b274b67a4c2320612d4dfb3083131f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Oracle Internal Large objects:  <a href="#ga8b274b67a4c2320612d4dfb3083131f5">More...</a><br /></td></tr>
<tr class="separator:ga8b274b67a4c2320612d4dfb3083131f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad57163fd9169661f31821898c0a86b1d"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#gad57163fd9169661f31821898c0a86b1d">OCI_File</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#gad57163fd9169661f31821898c0a86b1d">OCI_File</a></td></tr>
<tr class="memdesc:gad57163fd9169661f31821898c0a86b1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Oracle External Large objects:  <a href="#gad57163fd9169661f31821898c0a86b1d">More...</a><br /></td></tr>
<tr class="separator:gad57163fd9169661f31821898c0a86b1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac4291a2f7094685879b4739c692ce128"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#gac4291a2f7094685879b4739c692ce128">OCI_Transaction</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#gac4291a2f7094685879b4739c692ce128">OCI_Transaction</a></td></tr>
<tr class="memdesc:gac4291a2f7094685879b4739c692ce128"><td class="mdescLeft">&#160;</td><td class="mdescRight">Oracle Transaction.  <a href="#gac4291a2f7094685879b4739c692ce128">More...</a><br /></td></tr>
<tr class="separator:gac4291a2f7094685879b4739c692ce128"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga95e122a9e888afdd674803e521557aba"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#ga95e122a9e888afdd674803e521557aba">OCI_Long</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga95e122a9e888afdd674803e521557aba">OCI_Long</a></td></tr>
<tr class="memdesc:ga95e122a9e888afdd674803e521557aba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Oracle Long data type.  <a href="#ga95e122a9e888afdd674803e521557aba">More...</a><br /></td></tr>
<tr class="separator:ga95e122a9e888afdd674803e521557aba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga549efec5df4c0825db908a5ceb9ab614"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga549efec5df4c0825db908a5ceb9ab614"></a>
typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#ga549efec5df4c0825db908a5ceb9ab614">OCI_Date</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga549efec5df4c0825db908a5ceb9ab614">OCI_Date</a></td></tr>
<tr class="memdesc:ga549efec5df4c0825db908a5ceb9ab614"><td class="mdescLeft">&#160;</td><td class="mdescRight">Oracle internal date representation. <br /></td></tr>
<tr class="separator:ga549efec5df4c0825db908a5ceb9ab614"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga51bd3b406fe1b1d1a2eceee3f02ebd47"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga51bd3b406fe1b1d1a2eceee3f02ebd47"></a>
typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#ga51bd3b406fe1b1d1a2eceee3f02ebd47">OCI_Timestamp</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga51bd3b406fe1b1d1a2eceee3f02ebd47">OCI_Timestamp</a></td></tr>
<tr class="memdesc:ga51bd3b406fe1b1d1a2eceee3f02ebd47"><td class="mdescLeft">&#160;</td><td class="mdescRight">Oracle internal timestamp representation. <br /></td></tr>
<tr class="separator:ga51bd3b406fe1b1d1a2eceee3f02ebd47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac15e42323f4e24403bb2ff5dce7e054c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac15e42323f4e24403bb2ff5dce7e054c"></a>
typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#gac15e42323f4e24403bb2ff5dce7e054c">OCI_Interval</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#gac15e42323f4e24403bb2ff5dce7e054c">OCI_Interval</a></td></tr>
<tr class="memdesc:gac15e42323f4e24403bb2ff5dce7e054c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Oracle internal interval representation. <br /></td></tr>
<tr class="separator:gac15e42323f4e24403bb2ff5dce7e054c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga270329793bf4735351b6007bc20d41ae"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga270329793bf4735351b6007bc20d41ae"></a>
typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#ga270329793bf4735351b6007bc20d41ae">OCI_Object</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga270329793bf4735351b6007bc20d41ae">OCI_Object</a></td></tr>
<tr class="memdesc:ga270329793bf4735351b6007bc20d41ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Oracle Named types representation. <br /></td></tr>
<tr class="separator:ga270329793bf4735351b6007bc20d41ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5891a18e9f8ad138e4ec365b834a04d9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5891a18e9f8ad138e4ec365b834a04d9"></a>
typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#ga5891a18e9f8ad138e4ec365b834a04d9">OCI_Coll</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga5891a18e9f8ad138e4ec365b834a04d9">OCI_Coll</a></td></tr>
<tr class="memdesc:ga5891a18e9f8ad138e4ec365b834a04d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Oracle Collections (VARRAYs and Nested Tables) representation. <br /></td></tr>
<tr class="separator:ga5891a18e9f8ad138e4ec365b834a04d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1210aec5a07ce9ed82199b3359d371bf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1210aec5a07ce9ed82199b3359d371bf"></a>
typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#ga1210aec5a07ce9ed82199b3359d371bf">OCI_Elem</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga1210aec5a07ce9ed82199b3359d371bf">OCI_Elem</a></td></tr>
<tr class="memdesc:ga1210aec5a07ce9ed82199b3359d371bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Oracle Collection item representation. <br /></td></tr>
<tr class="separator:ga1210aec5a07ce9ed82199b3359d371bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf88481fd4329ba97717805effd4b8fc9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf88481fd4329ba97717805effd4b8fc9"></a>
typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#gaf88481fd4329ba97717805effd4b8fc9">OCI_Iter</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#gaf88481fd4329ba97717805effd4b8fc9">OCI_Iter</a></td></tr>
<tr class="memdesc:gaf88481fd4329ba97717805effd4b8fc9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Oracle Collection iterator representation. <br /></td></tr>
<tr class="separator:gaf88481fd4329ba97717805effd4b8fc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0e6344d3d91bcf39059894adc19f011a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0e6344d3d91bcf39059894adc19f011a"></a>
typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#ga0e6344d3d91bcf39059894adc19f011a">OCI_Ref</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga0e6344d3d91bcf39059894adc19f011a">OCI_Ref</a></td></tr>
<tr class="memdesc:ga0e6344d3d91bcf39059894adc19f011a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Oracle REF type representation. <br /></td></tr>
<tr class="separator:ga0e6344d3d91bcf39059894adc19f011a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad33099e82262f1f484c19283d5f812c6"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#gad33099e82262f1f484c19283d5f812c6">OCI_TypeInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#gad33099e82262f1f484c19283d5f812c6">OCI_TypeInfo</a></td></tr>
<tr class="memdesc:gad33099e82262f1f484c19283d5f812c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type info metadata handle.  <a href="#gad33099e82262f1f484c19283d5f812c6">More...</a><br /></td></tr>
<tr class="separator:gad33099e82262f1f484c19283d5f812c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0bbce882abdc1a99ebf01637447c35cb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0bbce882abdc1a99ebf01637447c35cb"></a>
typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#ga0bbce882abdc1a99ebf01637447c35cb">OCI_HashTable</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga0bbce882abdc1a99ebf01637447c35cb">OCI_HashTable</a></td></tr>
<tr class="memdesc:ga0bbce882abdc1a99ebf01637447c35cb"><td class="mdescLeft">&#160;</td><td class="mdescRight">OCILIB implementation of hash tables. <br /></td></tr>
<tr class="separator:ga0bbce882abdc1a99ebf01637447c35cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8234ab7e71027fd7d139288b2181d4a7"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#ga8234ab7e71027fd7d139288b2181d4a7">OCI_Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8234ab7e71027fd7d139288b2181d4a7">OCI_Error</a></td></tr>
<tr class="memdesc:ga8234ab7e71027fd7d139288b2181d4a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encapsulates an Oracle or OCILIB exception.  <a href="#ga8234ab7e71027fd7d139288b2181d4a7">More...</a><br /></td></tr>
<tr class="separator:ga8234ab7e71027fd7d139288b2181d4a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadf74bea9761211fd1de22991a88282aa"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadf74bea9761211fd1de22991a88282aa"></a>
typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#gadf74bea9761211fd1de22991a88282aa">OCI_Mutex</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#gadf74bea9761211fd1de22991a88282aa">OCI_Mutex</a></td></tr>
<tr class="memdesc:gadf74bea9761211fd1de22991a88282aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">OCILIB encapsulation of OCI mutexes. <br /></td></tr>
<tr class="separator:gadf74bea9761211fd1de22991a88282aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga09c3bd0786917f352497f354351cd308"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga09c3bd0786917f352497f354351cd308"></a>
typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#ga09c3bd0786917f352497f354351cd308">OCI_Thread</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga09c3bd0786917f352497f354351cd308">OCI_Thread</a></td></tr>
<tr class="memdesc:ga09c3bd0786917f352497f354351cd308"><td class="mdescLeft">&#160;</td><td class="mdescRight">OCILIB encapsulation of OCI Threads. <br /></td></tr>
<tr class="separator:ga09c3bd0786917f352497f354351cd308"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7ad67a3c6bb06fa04fcf3eae68af599a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7ad67a3c6bb06fa04fcf3eae68af599a"></a>
typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7ad67a3c6bb06fa04fcf3eae68af599a">OCI_DirPath</a></td></tr>
<tr class="memdesc:ga7ad67a3c6bb06fa04fcf3eae68af599a"><td class="mdescLeft">&#160;</td><td class="mdescRight">OCILIB encapsulation of OCI Direct Path handle. <br /></td></tr>
<tr class="separator:ga7ad67a3c6bb06fa04fcf3eae68af599a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae28da488be3fc9bbf5ee3cc368b93be4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae28da488be3fc9bbf5ee3cc368b93be4"></a>
typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#gae28da488be3fc9bbf5ee3cc368b93be4">OCI_Subscription</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#gae28da488be3fc9bbf5ee3cc368b93be4">OCI_Subscription</a></td></tr>
<tr class="memdesc:gae28da488be3fc9bbf5ee3cc368b93be4"><td class="mdescLeft">&#160;</td><td class="mdescRight">OCILIB encapsulation of Oracle DCN notification. <br /></td></tr>
<tr class="separator:gae28da488be3fc9bbf5ee3cc368b93be4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadb8a12f3997bef6dc932e75f728efbb7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadb8a12f3997bef6dc932e75f728efbb7"></a>
typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#gadb8a12f3997bef6dc932e75f728efbb7">OCI_Event</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#gadb8a12f3997bef6dc932e75f728efbb7">OCI_Event</a></td></tr>
<tr class="memdesc:gadb8a12f3997bef6dc932e75f728efbb7"><td class="mdescLeft">&#160;</td><td class="mdescRight">OCILIB encapsulation of Oracle DCN event. <br /></td></tr>
<tr class="separator:gadb8a12f3997bef6dc932e75f728efbb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac7448d2a513d9d5e8ff73926e8383239"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac7448d2a513d9d5e8ff73926e8383239"></a>
typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#gac7448d2a513d9d5e8ff73926e8383239">OCI_Msg</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#gac7448d2a513d9d5e8ff73926e8383239">OCI_Msg</a></td></tr>
<tr class="memdesc:gac7448d2a513d9d5e8ff73926e8383239"><td class="mdescLeft">&#160;</td><td class="mdescRight">OCILIB encapsulation of A/Q message. <br /></td></tr>
<tr class="separator:gac7448d2a513d9d5e8ff73926e8383239"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf9fd9b1e46ebe8947c3c553b93e951c0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf9fd9b1e46ebe8947c3c553b93e951c0"></a>
typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#gaf9fd9b1e46ebe8947c3c553b93e951c0">OCI_Agent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#gaf9fd9b1e46ebe8947c3c553b93e951c0">OCI_Agent</a></td></tr>
<tr class="memdesc:gaf9fd9b1e46ebe8947c3c553b93e951c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">OCILIB encapsulation of A/Q Agent. <br /></td></tr>
<tr class="separator:gaf9fd9b1e46ebe8947c3c553b93e951c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga19a5d189577b50fa5c208a236a4bcbfc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga19a5d189577b50fa5c208a236a4bcbfc"></a>
typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#ga19a5d189577b50fa5c208a236a4bcbfc">OCI_Dequeue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga19a5d189577b50fa5c208a236a4bcbfc">OCI_Dequeue</a></td></tr>
<tr class="memdesc:ga19a5d189577b50fa5c208a236a4bcbfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">OCILIB encapsulation of A/Q dequeuing operations. <br /></td></tr>
<tr class="separator:ga19a5d189577b50fa5c208a236a4bcbfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0d226bd4128b8fc66bba6b09ac332409"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0d226bd4128b8fc66bba6b09ac332409"></a>
typedef struct <a class="el" href="group___ocilib_c_api_datatypes.html#ga0d226bd4128b8fc66bba6b09ac332409">OCI_Enqueue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga0d226bd4128b8fc66bba6b09ac332409">OCI_Enqueue</a></td></tr>
<tr class="memdesc:ga0d226bd4128b8fc66bba6b09ac332409"><td class="mdescLeft">&#160;</td><td class="mdescRight">OCILIB encapsulation of A/Q enqueuing operations. <br /></td></tr>
<tr class="separator:ga0d226bd4128b8fc66bba6b09ac332409"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac768ae2afe72e905d36e47c173032f26"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#gac768ae2afe72e905d36e47c173032f26">POCI_ERROR</a>) (<a class="el" href="group___ocilib_c_api_datatypes.html#ga8234ab7e71027fd7d139288b2181d4a7">OCI_Error</a> *err)</td></tr>
<tr class="memdesc:gac768ae2afe72e905d36e47c173032f26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Error procedure prototype.  <a href="#gac768ae2afe72e905d36e47c173032f26">More...</a><br /></td></tr>
<tr class="separator:gac768ae2afe72e905d36e47c173032f26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3594662df4f126aa9fc4bdec9ac6a199"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga3594662df4f126aa9fc4bdec9ac6a199">POCI_THREAD</a>) (<a class="el" href="group___ocilib_c_api_datatypes.html#ga09c3bd0786917f352497f354351cd308">OCI_Thread</a> *thread, void *arg)</td></tr>
<tr class="memdesc:ga3594662df4f126aa9fc4bdec9ac6a199"><td class="mdescLeft">&#160;</td><td class="mdescRight">Thread procedure prototype.  <a href="#ga3594662df4f126aa9fc4bdec9ac6a199">More...</a><br /></td></tr>
<tr class="separator:ga3594662df4f126aa9fc4bdec9ac6a199"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad82d734ef2ba8d4e24874e3d6a6faa26"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#gad82d734ef2ba8d4e24874e3d6a6faa26">POCI_THREADKEYDEST</a>) (void *data)</td></tr>
<tr class="memdesc:gad82d734ef2ba8d4e24874e3d6a6faa26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Thread key destructor prototype.  <a href="#gad82d734ef2ba8d4e24874e3d6a6faa26">More...</a><br /></td></tr>
<tr class="separator:gad82d734ef2ba8d4e24874e3d6a6faa26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6eed7878852e796a705f452bad294fd2"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga6eed7878852e796a705f452bad294fd2">POCI_NOTIFY</a>) (<a class="el" href="group___ocilib_c_api_datatypes.html#gadb8a12f3997bef6dc932e75f728efbb7">OCI_Event</a> *event)</td></tr>
<tr class="memdesc:ga6eed7878852e796a705f452bad294fd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Database Change Notification User callback prototype.  <a href="#ga6eed7878852e796a705f452bad294fd2">More...</a><br /></td></tr>
<tr class="separator:ga6eed7878852e796a705f452bad294fd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4ef17289ad471a6de28baab3a9169064"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga4ef17289ad471a6de28baab3a9169064">POCI_NOTIFY_AQ</a>) (<a class="el" href="group___ocilib_c_api_datatypes.html#ga19a5d189577b50fa5c208a236a4bcbfc">OCI_Dequeue</a> *dequeue)</td></tr>
<tr class="memdesc:ga4ef17289ad471a6de28baab3a9169064"><td class="mdescLeft">&#160;</td><td class="mdescRight">AQ notification callback prototype.  <a href="#ga4ef17289ad471a6de28baab3a9169064">More...</a><br /></td></tr>
<tr class="separator:ga4ef17289ad471a6de28baab3a9169064"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga67e0f339111bb2d9243582e129697873"><td class="memItemLeft" align="right" valign="top">typedef unsigned int(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga67e0f339111bb2d9243582e129697873">POCI_TAF_HANDLER</a>) (<a class="el" href="group___ocilib_c_api_datatypes.html#ga2135d3b5341ebbaae1f54d62873ecf77">OCI_Connection</a> *con, unsigned int type, unsigned int event)</td></tr>
<tr class="memdesc:ga67e0f339111bb2d9243582e129697873"><td class="mdescLeft">&#160;</td><td class="mdescRight">Failover Notification User callback prototype.  <a href="#ga67e0f339111bb2d9243582e129697873">More...</a><br /></td></tr>
<tr class="separator:ga67e0f339111bb2d9243582e129697873"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9d59cd068ba0758bc5c022de48b8de4c"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga9d59cd068ba0758bc5c022de48b8de4c">POCI_HA_HANDLER</a>) (<a class="el" href="group___ocilib_c_api_datatypes.html#ga2135d3b5341ebbaae1f54d62873ecf77">OCI_Connection</a> *con, unsigned int source, unsigned int event, <a class="el" href="group___ocilib_c_api_datatypes.html#ga51bd3b406fe1b1d1a2eceee3f02ebd47">OCI_Timestamp</a> *time)</td></tr>
<tr class="memdesc:ga9d59cd068ba0758bc5c022de48b8de4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">HA (High Availability) events Notification User callback prototype.  <a href="#ga9d59cd068ba0758bc5c022de48b8de4c">More...</a><br /></td></tr>
<tr class="separator:ga9d59cd068ba0758bc5c022de48b8de4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga56df9baec6ef3397e359102b323b3d7e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga56df9baec6ef3397e359102b323b3d7e"></a>
typedef struct OCI_XID&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga56df9baec6ef3397e359102b323b3d7e">OCI_XID</a></td></tr>
<tr class="memdesc:ga56df9baec6ef3397e359102b323b3d7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Global transaction identifier. <br /></td></tr>
<tr class="separator:ga56df9baec6ef3397e359102b323b3d7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9eae5234e3ca61b6dc51747bc8ce97e4"><td class="memItemLeft" align="right" valign="top">typedef struct OCI_HashValue&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga9eae5234e3ca61b6dc51747bc8ce97e4">OCI_HashValue</a></td></tr>
<tr class="memdesc:ga9eae5234e3ca61b6dc51747bc8ce97e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hash table entry value.  <a href="#ga9eae5234e3ca61b6dc51747bc8ce97e4">More...</a><br /></td></tr>
<tr class="separator:ga9eae5234e3ca61b6dc51747bc8ce97e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4d9f49c020c16dd2ac25694acde4b39f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4d9f49c020c16dd2ac25694acde4b39f"></a>
typedef struct OCI_HashEntry&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga4d9f49c020c16dd2ac25694acde4b39f">OCI_HashEntry</a></td></tr>
<tr class="memdesc:ga4d9f49c020c16dd2ac25694acde4b39f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hash table entry. <br /></td></tr>
<tr class="separator:ga4d9f49c020c16dd2ac25694acde4b39f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga88d4b7a22a0996612532961510afb861"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga88d4b7a22a0996612532961510afb861"></a>
typedef long long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___ocilib_c_api_datatypes.html#ga88d4b7a22a0996612532961510afb861">big_int</a></td></tr>
<tr class="memdesc:ga88d4b7a22a0996612532961510afb861"><td class="mdescLeft">&#160;</td><td class="mdescRight">big_int is a C scalar integer (32 or 64 bits) depending on compiler support for 64bits integers. big_uint is an unsigned big_int <br /></td></tr>
<tr class="separator:ga88d4b7a22a0996612532961510afb861"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="ga03591b6a21bfc75df4bbd9c9005307fa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___ocilib_c_api_datatypes.html#ga03591b6a21bfc75df4bbd9c9005307fa">OCI_Pool</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Pool object (session or connection) </p>
<p>A pool is a set of pooled objects </p>

<p>Definition at line <a class="el" href="ocilib_8h_source.html#l00408">408</a> of file <a class="el" href="ocilib_8h_source.html">ocilib.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga2135d3b5341ebbaae1f54d62873ecf77"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___ocilib_c_api_datatypes.html#ga2135d3b5341ebbaae1f54d62873ecf77">OCI_Connection</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Oracle physical connection. </p>
<p>It holds all information about a connection such as error handling, associated statements, ... Error handling and transactions are embedded within a connection object.</p>
<dl class="section warning"><dt>Warning</dt><dd>Multi threaded applications that use multiple connections should use one connection per thread as all statements associated with a connection share the same context. </dd></dl>

<p>Definition at line <a class="el" href="ocilib_8h_source.html#l00425">425</a> of file <a class="el" href="ocilib_8h_source.html">ocilib.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga4b016f1bd7de508b1a919e34b12aa83d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___ocilib_c_api_datatypes.html#ga4b016f1bd7de508b1a919e34b12aa83d">OCI_Statement</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Oracle SQL or PL/SQL statement. </p>
<p>A Statement object allows users to prepare, execute SQL orders or PL/SQL blocks </p>

<p>Definition at line <a class="el" href="ocilib_8h_source.html#l00437">437</a> of file <a class="el" href="ocilib_8h_source.html">ocilib.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga7bf7e94c3be66d0a7c8edad675133f41"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___ocilib_c_api_datatypes.html#ga7bf7e94c3be66d0a7c8edad675133f41">OCI_Bind</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Internal bind representation. </p>
<p>A bind object is an object that holds all information about an Oracle statement binding operation </p>

<p>Definition at line <a class="el" href="ocilib_8h_source.html#l00449">449</a> of file <a class="el" href="ocilib_8h_source.html">ocilib.h</a>.</p>

</div>
</div>
<a class="anchor" id="gae0c7aa9c507975d21ca6c261081ba753"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___ocilib_c_api_datatypes.html#gae0c7aa9c507975d21ca6c261081ba753">OCI_Resultset</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Collection of output columns from a select statement. </p>
<p>A resultset object is the result of 'select' SQL Statement.</p>
<p>It's a set of data (ordered in columns) that can be fetched row by row to get data returned by the SQL statement </p>

<p>Definition at line <a class="el" href="ocilib_8h_source.html#l00464">464</a> of file <a class="el" href="ocilib_8h_source.html">ocilib.h</a>.</p>

</div>
</div>
<a class="anchor" id="gac0a3096f1a717d9417d9639e6da7dc56"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___ocilib_c_api_datatypes.html#gac0a3096f1a717d9417d9639e6da7dc56">OCI_Column</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Oracle SQL Column and Type member representation. </p>
<p>A column object represents an output column from a select statement </p>

<p>Definition at line <a class="el" href="ocilib_8h_source.html#l00476">476</a> of file <a class="el" href="ocilib_8h_source.html">ocilib.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga8b274b67a4c2320612d4dfb3083131f5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8b274b67a4c2320612d4dfb3083131f5">OCI_Lob</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Oracle Internal Large objects: </p>
<p>The following internal Larges Objects are supported:</p>
<ul>
<li>BLOBs : Binary large objects</li>
<li>CLOBs / NCLOBs : Character large objects</li>
</ul>
<p>LOBs were introduced by OCI8 to replace Long data types.</p>
<p>It's designed to store really larges objects (buffer, files) inside the database</p>
<p>Oracle encourages programmers to use those objects instead of LONG, LONG RAW, ...</p>
<p>OCILIB supports both LOBs and LONGs </p>

<p>Definition at line <a class="el" href="ocilib_8h_source.html#l00499">499</a> of file <a class="el" href="ocilib_8h_source.html">ocilib.h</a>.</p>

</div>
</div>
<a class="anchor" id="gad57163fd9169661f31821898c0a86b1d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___ocilib_c_api_datatypes.html#gad57163fd9169661f31821898c0a86b1d">OCI_File</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Oracle External Large objects: </p>
<p>The following external Larges Objects are supported:</p>
<ul>
<li>BFILEs : Binary files</li>
<li>CFILEs : Character files</li>
</ul>
<p>FILEs were introduced by OCI8 in order to store references to files located outside the database.</p>
<dl class="section warning"><dt>Warning</dt><dd>Only Read-only access is allowed on BFILEs</dd></dl>
<p>Two way to use FILEs :</p>
<ul>
<li>within statement context (query, binding)</li>
<li>without statement context (server files reading) through OCI_File properties functions </li>
</ul>

<p>Definition at line <a class="el" href="ocilib_8h_source.html#l00524">524</a> of file <a class="el" href="ocilib_8h_source.html">ocilib.h</a>.</p>

</div>
</div>
<a class="anchor" id="gac4291a2f7094685879b4739c692ce128"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___ocilib_c_api_datatypes.html#gac4291a2f7094685879b4739c692ce128">OCI_Transaction</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Oracle Transaction. </p>
<p>A transaction can be:</p>
<ul>
<li>Local: it's implicitly created by OCILIB</li>
<li>Global: it's explicitly created by the program </li>
</ul>

<p>Definition at line <a class="el" href="ocilib_8h_source.html#l00539">539</a> of file <a class="el" href="ocilib_8h_source.html">ocilib.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga95e122a9e888afdd674803e521557aba"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___ocilib_c_api_datatypes.html#ga95e122a9e888afdd674803e521557aba">OCI_Long</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Oracle Long data type. </p>
<p>The following long Objects are supported:</p>
<ul>
<li>LONG RAW : Binary long objects</li>
<li>LONG : Character long objects</li>
</ul>
<p>Those types were used in older versions of Oracle (before Oracle8i) to store large chunks of data in the database.</p>
<p>It's now depreciated by Oracle that recommends using LOBs</p>
<p>Many databases and applications are still designed to use LONGs that's why OCILIB supports Long Objects and piecewise operations </p>

<p>Definition at line <a class="el" href="ocilib_8h_source.html#l00561">561</a> of file <a class="el" href="ocilib_8h_source.html">ocilib.h</a>.</p>

</div>
</div>
<a class="anchor" id="gad33099e82262f1f484c19283d5f812c6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___ocilib_c_api_datatypes.html#gad33099e82262f1f484c19283d5f812c6">OCI_TypeInfo</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Type info metadata handle. </p>
<p>Type info meta data handle. </p>

<p>Definition at line <a class="el" href="ocilib_8h_source.html#l00658">658</a> of file <a class="el" href="ocilib_8h_source.html">ocilib.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga8234ab7e71027fd7d139288b2181d4a7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___ocilib_c_api_datatypes.html#ga8234ab7e71027fd7d139288b2181d4a7">OCI_Error</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Encapsulates an Oracle or OCILIB exception. </p>
<p>The error object is used to raise internal or oracle errors. When an error occurs, if the application has provided an error handler, an error object is constructed and passed to the handler </p>

<p>Definition at line <a class="el" href="ocilib_8h_source.html#l00682">682</a> of file <a class="el" href="ocilib_8h_source.html">ocilib.h</a>.</p>

</div>
</div>
<a class="anchor" id="gac768ae2afe72e905d36e47c173032f26"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCI_ERROR</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Error procedure prototype. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">err</td><td>- Error handle </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="ocilib_8h_source.html#l00785">785</a> of file <a class="el" href="ocilib_8h_source.html">ocilib.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga3594662df4f126aa9fc4bdec9ac6a199"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCI_THREAD</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Thread procedure prototype. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">thread</td><td>- Thread handle </td></tr>
    <tr><td class="paramname">arg</td><td>- Pointer passed to <a class="el" href="group___ocilib_c_api_threading.html#ga1076c9942cc395f298ca350021031bfd" title="Execute the given routine within the given thread object. ">OCI_ThreadRun()</a> </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="ocilib_8h_source.html#l00801">801</a> of file <a class="el" href="ocilib_8h_source.html">ocilib.h</a>.</p>

</div>
</div>
<a class="anchor" id="gad82d734ef2ba8d4e24874e3d6a6faa26"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCI_THREADKEYDEST</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Thread key destructor prototype. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>- Thread Key current pointer value </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="ocilib_8h_source.html#l00817">817</a> of file <a class="el" href="ocilib_8h_source.html">ocilib.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga6eed7878852e796a705f452bad294fd2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCI_NOTIFY</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Database Change Notification User callback prototype. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">event</td><td>- Event handle </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="ocilib_8h_source.html#l00832">832</a> of file <a class="el" href="ocilib_8h_source.html">ocilib.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga4ef17289ad471a6de28baab3a9169064"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCI_NOTIFY_AQ</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>AQ notification callback prototype. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dequeue</td><td>- dequeue handle </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="ocilib_8h_source.html#l00847">847</a> of file <a class="el" href="ocilib_8h_source.html">ocilib.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga67e0f339111bb2d9243582e129697873"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCI_TAF_HANDLER</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Failover Notification User callback prototype. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">con</td><td>- Connection handle related to the event </td></tr>
    <tr><td class="paramname">type</td><td>- Event type </td></tr>
    <tr><td class="paramname">event</td><td>- Event code</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Possible values for parameter 'type' :<ul>
<li>OCI_FOT_NONE</li>
<li>OCI_FOT_SESSION</li>
<li>OCI_FOT_SELECT</li>
</ul>
</dd>
<dd>
Possible values for parameter 'event' :<ul>
<li>OCI_FOE_END</li>
<li>OCI_FOE_ABORT</li>
<li>OCI_FOE_REAUTH</li>
<li>OCI_FOE_BEGIN</li>
<li>OCI_FOE_ERROR</li>
</ul>
</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>User callback should return one of the following value :<ul>
<li>OCI_FOC_OK</li>
<li>OCI_FOC_RETRY </li>
</ul>
</dd></dl>

<p>Definition at line <a class="el" href="ocilib_8h_source.html#l00883">883</a> of file <a class="el" href="ocilib_8h_source.html">ocilib.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga9d59cd068ba0758bc5c022de48b8de4c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">POCI_HA_HANDLER</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>HA (High Availability) events Notification User callback prototype. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">con</td><td>- Connection handle related to the event </td></tr>
    <tr><td class="paramname">source</td><td>- source of the event </td></tr>
    <tr><td class="paramname">event</td><td>- type of the event </td></tr>
    <tr><td class="paramname">time</td><td>- Timestamp of the event</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Currently, Oracle only send HA down events</dd>
<dd>
Possible values for parameter 'source' :<ul>
<li>OCI_HES_INSTANCE</li>
<li>OCI_HES_DATABASE</li>
<li>OCI_HES_NODE</li>
<li>OCI_HES_SERVICE</li>
<li>OCI_HES_SERVICE_MEMBER</li>
<li>OCI_HES_ASM_INSTANCE</li>
<li>OCI_HES_PRECONNECT</li>
</ul>
</dd>
<dd>
Possible values for parameter 'event' :<ul>
<li>OCI_HET_DOWN : HA event type down</li>
<li>OCI_HET_UP : HA event type up </li>
</ul>
</dd></dl>

<p>Definition at line <a class="el" href="ocilib_8h_source.html#l00921">921</a> of file <a class="el" href="ocilib_8h_source.html">ocilib.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga9eae5234e3ca61b6dc51747bc8ce97e4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OCI_HashValue</td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;ocilib.h&gt;</code></p>

<p>Hash table entry value. </p>
<p>OCILIB implementation of hash tables uses chaining method for dealing with collisions </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Mon Mar 21 2016 22:26:36 for OCILIB (C and C++ Driver for Oracle) by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.9.1 </li>
  </ul>
</div>
</body>
</html>
